#ifndef _BNCIMB_DOMAIN_BANKACCOUNT_H_
#define _BNCIMB_DOMAIN_BANKACCOUNT_H_

#include <vector>
#include <memory>
#include <string>
#include "Transaction.h"

namespace BncImb {
namespace Domain {
  using namespace std;
  class BankAccount {
  public:
		  const string& code() const;
		  const vector<Transaction>& transactions() const;
		  double balance() const;
		  void makeTransaction(double value, const string& sourceAccountCode);
  private:
		  string mCode;
		  vector<Transaction> mTransactions;
  };
}
}

#endif